//#include <iostream>
//#include <queue>
//#include <vector>
//#include <list>
//#include <deque>
//using namespace std;
//
//
//template<class T>
//class Less
//{
//public:
//	bool operator()(const T& x, const T& y)
//	{
//		return x > y;
//	}
//};
//
//template<class T>
//class Greater
//{
//public:
//	bool operator()(const T& x, const T& y)
//	{
//		return x < y;
//	}
//};
//
//template<class T = int, class Compare = Less<T>>
//class User
//{
//public:
//	User(T a, T b)
//		:_a(a)
//		,_b(b)
//	{}
//
//	void Judge()
//	{
//		Compare com;
//		cout << com(_a, _b);
//	}
//
//private:
//	T _a;
//	T _b;
//};
//
//int main()
//{
//
//	User<> a(1, 2);
//	a.Judge();
//
//	return 0;
//}